algoritma navigasi
bagaimana google maps menghitung rute tercepat di tengah macet
Pernahkah kita terjebak macet total di Jumat sore saat hujan deras? Pikiran mulai frustrasi, kaki pegal menahan pedal rem, dan kita menatap layar ponsel dengan penuh harap. Di layar itu, rute yang tadinya biru berubah menjadi merah pekat. Lalu, tiba-tiba muncul notifikasi ajaib: "Rute yang lebih cepat ditemukan, menghemat 12 menit." Kita disuruh belok ke sebuah gang sempit yang bahkan tidak pernah kita tahu keberadaannya. Dan ajaibnya, kita benar-benar lolos dari neraka kemacetan itu. Pernahkah teman-teman bertanya-tanya, bagaimana sebuah aplikasi di genggaman tangan bisa lebih tahu kondisi jalan raya daripada insting kita sendiri? Rasanya seperti sihir. Namun, tenang saja, ini bukan sihir. Ini adalah perkawinan indah antara matematika murni, psikologi kebiasaan manusia, dan sejarah panjang manusia dalam menaklukkan ruang. Mari kita bedah isi kepala aplikasi navigasi kita.
Untuk memahami keajaiban ini, kita harus mundur sebentar ke tahun 1959. Bertemulah dengan Edsger W. Dijkstra, seorang ahli komputer asal Belanda. Suatu hari, ia sedang minum kopi bersama tunangannya di sebuah teras kafe. Ia memikirkan masalah sederhana: apa rute terpendek dari kota Rotterdam ke Groningen? Tanpa kertas dan pulpen, dalam waktu 20 menit, ia merancang apa yang kini dikenal sebagai Dijkstra’s Algorithm. Bayangkan peta sebagai titik-titik (kota) yang dihubungkan oleh benang (jalan raya). Jika kita memegang titik asal dan titik tujuan, lalu menariknya dengan kencang, benang-benang yang menjadi tegang itulah rute terpendeknya. Sangat logis. Algoritma ini memecah peta menjadi nodes (titik persimpangan) dan edges (ruas jalan), lalu menghitung bobot jarak terendah. Namun, ada satu masalah besar. Dunia nyata tidak seindah hitungan di atas kertas. Jarak terpendek belum tentu waktu tercepat. Jalan pintas sejauh 1 kilometer bisa memakan waktu 30 menit jika ada truk mogok di sana. Lalu, bagaimana komputer bisa menghitung rute untuk jutaan orang secara bersamaan tanpa komputernya meledak kepanasan?
Di sinilah navigasi modern harus berbuat "curang" dengan cerdas. Algoritma Dijkstra murni terlalu lambat untuk dunia nyata karena ia mengecek semua kemungkinan arah layaknya air yang tumpah ke segala penjuru. Maka ilmuwan menciptakan A-Star Algorithm. Algoritma ini punya satu keunggulan: insting. Atau dalam bahasa sains, heuristics. Ia menebak arah mana yang paling masuk akal menuju tujuan, dan mengabaikan arah yang berlawanan. Ini memangkas waktu komputasi secara drastis. Masalah matematika selesai. Tapi tunggu dulu. Ini memunculkan satu teka-teki yang lebih membingungkan. Matematika bisa menghitung jarak dan menebak arah dengan cepat. Tapi, darimana peta digital tahu bahwa saat ini juga ada kemacetan di depan mal? Pernahkah kita curiga bahwa raksasa teknologi punya satelit mata-mata yang mengawasi setiap mobil dari luar angkasa? Atau mereka meretas setiap kamera CCTV di lampu merah? Jawabannya ternyata jauh lebih personal, sedikit ironis, dan mungkin membuat kita tersenyum simpul.
Rahasia besarnya tidak ada di langit. Rahasianya ada di dalam saku celana kita sendiri. Kita adalah sensornya. Perangkat navigasi menggunakan teknik yang disebut crowdsourcing atau urun daya. Setiap kali kita membuka aplikasi peta digital, ponsel kita mengirimkan data ping kecil secara anonim ke pusat data. Kecepatan gerak kita, titik henti kita, semuanya terekam. Bayangkan sistem melihat ada ratusan ponsel di satu ruas jalan, dan semuanya bergerak dengan kecepatan kurang dari 5 kilometer per jam. Kesimpulan algoritmanya sederhana: pasti sedang macet. Jadi, saat ponsel kita menerima peringatan jalur merah muda atau merah tua, itu adalah hasil pengorbanan ratusan orang di depan kita yang sedang terjebak macet. Aplikasi ini juga tidak hanya hidup di masa kini. Ia menggunakan machine learning untuk mempelajari sejarah dan psikologi massal. Ia tahu kebiasaan kita. Ia tahu bahwa setiap hari kerja jam 8 pagi, jalan tertentu pasti padat. Data sejarah ini digabungkan dengan laporan real-time dari ponsel kita, lalu diolah dengan algoritma tebak-tebakan cerdas tadi. Rute gang sempit yang kita lewati itu adalah hasil kalkulasi jutaan data smartphone yang diolah hanya dalam hitungan milidetik.
Memikirkan hal ini memberi kita perspektif baru yang cukup merendahkan hati. Kita sering marah pada kemacetan seolah-olah kemacetan adalah entitas asing yang menyerang kita. Padahal, kita adalah kemacetan itu sendiri. Namun di sisi lain, saat kita menggunakan peta digital, kita sedang berpartisipasi dalam salah satu kolaborasi manusia terbesar dalam sejarah yang terjadi secara tak kasat mata. Jutaan manusia yang tidak saling kenal, secara diam-diam membagikan data pergerakan mereka, untuk saling membantu mencari jalan pulang yang lebih cepat. Mesin dan algoritma hanyalah fasilitatornya. Jadi, lain kali jika rute di layar ponsel menyuruh kita masuk ke jalan tikus yang berliku, nikmati saja perjalanannya. Ingatlah bahwa di balik belokan itu, ada kecerdasan matematika berusia puluhan tahun dan empati digital dari ribuan orang asing yang sedang bekerja sama untuk mengantarkan kita pulang dengan selamat. Alam semesta digital ini, pada akhirnya, sangatlah manusiawi.